package ar.edu.utn.frba.dds.tp.code.vuelos;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import ar.edu.utn.frba.dds.tp.code.Asientos.AsientoDeVuelo;
import ar.edu.utn.frba.dds.tp.code.lugares.AbstractLugar;
import ar.edu.utn.frba.dds.tp.code.ordenamientos.CriterioOrdenVuelos;

import com.google.common.base.Predicate;

public class DataBusqueda {

	private AbstractLugar origen;
	private AbstractLugar destino;
	private Date fechaSalida;
	private List<Vuelo> vuelos;
	private ArrayList<Predicate<AsientoDeVuelo>> filtros;
	private CriterioOrdenVuelos criteroParaOrdenar;
	
	
	
	public DataBusqueda(AbstractLugar origen, AbstractLugar destino,
			Date fechaSalida) {
		super();
		this.origen = origen;
		this.destino = destino;
		this.fechaSalida = fechaSalida;
	}
	
	
	public AbstractLugar getOrigen() {
		return origen;
	}
	public void setOrigen(AbstractLugar origen) {
		this.origen = origen;
	}
	public AbstractLugar getDestino() {
		return destino;
	}
	public void setDestino(AbstractLugar destino) {
		this.destino = destino;
	}
	public Date getFechaSalida() {
		return fechaSalida;
	}
	public void setFechaSalida(Date fechaSalida) {
		this.fechaSalida = fechaSalida;
	}
	public List<Vuelo> getVuelos() {
		return vuelos;
	}
	public void setVuelos(List<Vuelo> vuelos) {
		this.vuelos = vuelos;
	}
	public ArrayList<Predicate<AsientoDeVuelo>> getFiltros() {
		return filtros;
	}
	public void setFiltros(ArrayList<Predicate<AsientoDeVuelo>> filtros) {
		this.filtros = filtros;
	}
	public CriterioOrdenVuelos getCriteroParaOrdenar() {
		return criteroParaOrdenar;
	}
	public void setCriteroParaOrdenar(CriterioOrdenVuelos criteroParaOrdenar) {
		this.criteroParaOrdenar = criteroParaOrdenar;
	}

	
}
